Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Prague 3 Challenger Bratislava 2 Challenger Ismaning Challenger Oeiras 1 Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Girona Challenger Mallorca Championships - Mallorca Madrid Challenger Murcia Challenger Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F33 Spain F34 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Spain F33 Spain F34 Portugal F7 Spain F39 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F6 Spain F7 Spain F10 Egypt F5 Turkey F4 Egypt F6 Turkey F5 Spain F13 Turkey F6 Spain F14 Spain F15 Spain F17 Spain F18 Spain F20 Spain F21 Spain F22 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Spain F31 Portugal F5 Spain F33 Spain F35 Spain F36 Spain F37 Spain F3 Spain F4 Spain F7 Spain F9 Italy F2 Spain F10 Italy F3 Spain F11 Spain F15 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Spain F23 Italy F17 Spain F27 Spain F31 Spain F32 Spain F35 Spain F36 Spain F37 Spain F38 Spain F39 Spain F2 Spain F3 Spain F5 Spain F6 France F4 Spain F14 Spain F15 Spain F28 Spain F36 Spain F38 Morocco F6 Morocco F7 Morocco F10 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 San Marino Challenger Banja Luka Challenger Aix En Provence Challenger United Cup - Australia Winston-Salem Open - Winston-Salem Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Open Sud de France - Montpellier Tenerife 2 Challenger Open 13 - Marseille Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril German Tennis Championships - Hamburg If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sud de France - Montpellier Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Kremlin Cup - Moscow Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch Bet-at-home Open - Hamburg Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Open de Nice Cote d'Azur - Nice Austrian Open - Kitzbuhel Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha ASB Classic - Auckland Ecuador Open - Quito Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Geneva Open - Geneva Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Kremlin Cup - Moscow Swiss Indoors Basel - Basel ASB Classic - Auckland Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Antalya Cup - Antalya Suisse Open - Gstaad Rio Open - Rio de Janeiro Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Antalya Cup - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing ASB Classic - Auckland Cordoba Open - Cordoba Rio Open - Rio de Janeiro Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Swiss Open - Gstaad Moselle Open - Metz Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Erste Bank Open - Vienna Adelaide International - Adelaide ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Generali Open - Kitzbuhel Cordoba Open - Cordoba Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Open Parc - Lyon Noventi Open - Halle Mallorca Championships - Mallorca Hamburg European Open - Hamburg Winston-Salem Open - Winston-Salem Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Hamburg European Open - Hamburg Swiss Open - Gstaad Generali Open - Kitzbuhel Swiss Indoors Basel - Basel Tel Aviv Watergen Open - Tel Aviv Open Occitanie - Montpellier Barcelona Open Banc Sabadell - Barcelona Girona Challenger Grand Prix Hassan II - Marrakech Cassis Challenger Heilbronn Challenger Winston-Salem Open - Winston-Salem National Bank Open - Toronto Seville Challenger Davis Cup, World Group, Q2, ESP-DEN 3-2 Portugal F4 Spain F31 Spain F16 Spain F32 Spain F34 Spain F2 Spain F14 Portugal F8 Spain F38 Spain F40 Spain F35 Spain F1 Spain F37 Spain F3 Spain F11 Spain F17 Morocco F9 BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Tanger Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Recanati Challenger Internazionali BNL d'Italia - Rome Courmayeur Challenger Casablanca Challenger Western & Southern Open - Cincinnati Pingguo Challenger Rome Challenger Rome Challenger Shanghai Rolex Masters - Shanghai Madrid Challenger Bergamo Challenger Internazionali BNL d'Italia - Rome Marrakech Challenger Tampere Challenger Western & Southern Open - New York Sibiu Challenger Rolex Paris Masters - Paris Bordeaux Challenger BNP Paribas Open - Indian Wells Orbetello Challenger Miami Open - Miami Cordenons Challenger Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid 84° Concurso Internacional Tenis San Sebastian - San Sebastian National Bank Open - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Cincinnati Open - Cincinnati Alicante Challenger Mamaia Challenger - Constanta Malaga Challenger Kos Succhetti Tennis Cup - Cordenons Ortisei Challenger Calgary Challenger Drummondville Challenger Maia Challenger Orbetello Challenger Oeiras 2 Challenger Seville Challenger Segovia Challenger Tarragona Challenger Rennes Challenger Meknes Challenger Rabat Challenger Tunis Challenger Alessandria Challenger Bytom Challenger Tampere Challenger Istanbul Challenger Trani Challenger Manerbio Challenger Heilbronn Challenger Rabat Challenger St. Brieuc Challenger Cremona Challenger Alessandria Challenger Furth Challenger Kosice Challenger Milan Challenger Tampere Challenger San Sebastian Challenger Trnava Challenger Caltanissetta Challenger Eckental Challenger Buenos Aires Challenger Quimper Challenger Meknes Challenger Casablanca Challenger Rome Challenger Milan Challenger Como Challenger Tenerife 1 Challenger Alphen Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Rome Challenger Furth Challenger Blois Challenger Tanger Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Segovia Challenger Como Challenger Genova Challenger Mohammedia Challenger Perugia Challenger Poznan Challenger Seville Challenger Mohammedia Challenger Leon Challenger Tallahassee Challenger Sao Paulo Challenger Quimper Challenger Guangzhou Challenger Caltanissetta Challenger Marburg Challenger Braunschweig Challenger Pozoblanco Challenger Seville Challenger Ljubljana Challenger Napoli Challenger Palermo Challenger Heilbronn Challenger Kazan Challenger Mersin Challenger Furth Challenger Cordenons Challenger Caltanissetta Challenger Kosice Challenger Todi Challenger Reggio Emilia Challenger Trnava Challenger Biel Challenger Turin Challenger Orleans Challenger Alicante Challenger Brest Challenger Pozoblanco Challenger Madrid Challenger Seville Challenger Meknes Challenger Como Challenger Tenerife Challenger Helsinki Challenger Braunschweig Challenger Szczecin Challenger Australian Open - Melbourne Braunschweig Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne Quimper Challenger French Open - Paris Bordeaux Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Braga Challenger San Juan Challenger Wimbledon - London U.S. Open - New York Geneva Challenger Wimbledon - London U.S. Open - New York Seville Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Izmir Challenger U.S. Open - New York Phoenix Challenger Oeiras 3 Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Porto Challenger French Open - Paris Wimbledon - London Mallorca Challenger U.S. Open - New York Antalya 2 Challenger U.S. Open - New York Lisbon Challenger French Open - Paris Mallorca Challenger Cassis Challenger U.S. Open - New York Australian Open - Melbourne Bratislava Challenger Australian Open - Melbourne Kosice Challenger Marrakech Challenger Manerbio Challenger Girona Challenger Szczecin Challenger Tunis Challenger Vicenza Challenger Australian Open - Melbourne Timisoara Challenger French Open - Paris Rabat Challenger San Sebastian Challenger U.S. Open - New York Perugia Challenger Poznan Challenger Montemar Challenger Marburg Challenger Lyon Challenger Bad Waltersdorf Challenger Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group, 1R, CRO-ESP 2-3 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group, QF, SRB-ESP 4-1 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Finals, QF, ARG-ESP 1-2 Davis Cup, World Group I, PO, LTU-POR 0-4 ATP Cup - Melbourne Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Finals, Group A ATP Cup - Sydney Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group I, 1R, AUT-POR 1-3 U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Kooyong Classic - Kooyong All Lower level tournaments Nitto ATP Finals - London Olympics - Rio de Janeiro Olympics - Tokyo Vegeta Croatia Open - Umag Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo European Open - Antwerp Open Parc - Lyon Swiss Indoors Basel - Basel Brasil Open - Sao Paulo St. Petersburg Open - St. Petersburg European Open - Antwerp Chile Dove Men+Care Open - Santiago Serbia Open - Belgrade ASB Classic - Auckland China Open - Beijing Power Horse Cup - Dusseldorf Apia International - Sydney Malaysian Open - Kuala Lumpur VTR Open - Vina del Mar If Stockholm Open - Stockholm Valencia Open - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Prostejov Challenger Winston-Salem Open - Winston-Salem Brasil Open - Sao Paulo Open 13 - Marseille Qatar ExxonMobil Open - Doha Apia International - Sydney Geneva Open - Geneva Portugal Open - Oeiras Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Vegeta Croatia Open - Umag China Open - Beijing Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Medellin Challenger Rio Open - Rio de Janeiro Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch AEGON Championships - London Moselle Open - Metz Aegon Nottingham Open - Nottingham Open Sud de France - Montpellier If Stockholm Open - Stockholm Argentina Open - Buenos Aires Open Sabadell Atlantico - Barcelona ABN AMRO World Tennis Tournament - Rotterdam Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Open 13 - Marseille Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos China Open - Beijing Erste Bank Open - Vienna Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Ecuador Open - Quito Geneva Open - Geneva Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Aircel Chennai Open - Chennai Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Kremlin Cup - Moscow Swiss Indoors Basel - Basel Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha ASB Classic - Auckland Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Dubai Duty Free Tennis Championships - Dubai German Tennis Championships - Hamburg Argentina Open - Buenos Aires Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Dubai Duty Free Tennis Championships - Dubai Erste Bank Open - Vienna Argentina Open - Buenos Aires Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Hall of Fame Open - Newport Moselle Open - Metz Sardegna Open - Cagliari Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Abierto Mexicano Telcel - Acapulco Erste Bank Open - Vienna Millennium Estoril Open - Estoril Anytech365 Andalucia Open - Marbella Melbourne Summer Set - Melbourne Sofia Open - Sofia Erste Bank Open - Vienna Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Open Parc - Lyon Erste Bank Open - Vienna Gerry Weber Open - Halle China Open - Beijing Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm China Open - Beijing Gijon Open - Gijon Tennis Napoli Open - Naples Adelaide International 2 - Adelaide ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Konzum Croatia Open - Umag Hamburg European Open - Hamburg Mutua Madrid Open - Madrid Miami Open - Miami Rogers Cup - Toronto Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati French Open - Paris Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris Rogers Cup - Montreal U.S. Open - New York Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Internazionali BNL d'Italia - Rome Davis Cup, World Group, SF, FRA-ESP 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group B, Valencia Davis Cup, Finals, QF, CRO-ESP 2-0 Davis Cup, World Group, PO, POR-CZE 1-3 Mubadala World Tennis Championship Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, 2R, ROU-ESP 1-4 Davis Cup, Group 2, 1R, CYP-POR 3-2